pp108 : Example BPM Reliable messaging configuration steps

Example BPM Reliable messaging configuration steps

Work in progress, should be updated with the latest screenshots

Brief Information about Reliable Messaging option in BPM

Any business process is critical when it deals with money. For example, any credit card transaction system. BPM engine has to ping WS-AppServer for any database transaction. The requests and responses are traveling via socket (TCP/IP) and the system is not storing the request/response anywhere. As a result when WS-AppServer recovers from crash we cannot process the pending transaction. User will loose the transaction.
With Reliable Messaging:

  • We can configure the SOAP processors in queue so that the messages will be saved and retrieved from the Queue. So, even after the processor's crash user will not loose the transaction.
  • The automatic call back will take care of the pending transactions when the processor recovers from any crash.
  • WS-AppServer will have X/A and Non X/A connection pool, nothing but a database cache which will store the database queries. So, even after database server crash user will not loose the transaction.

Reliable messaging model

 

BPM and WS-AppServer processor configurations

  • Create a Connection point group at BPM engine processor (CLIENT connections)
    • Create a socket connection under the group
    • Create a queue connection under the group, click here for screenshot
    • Add client Connection Group within BPM Business Process Management Properties , click here for screenshot
  • Create 2 Connection points at WS-AppServer processor (SERVER connections)
    • Create a Queue connection point
    • Create a Socket connection point, click here for screenshot

BPM configuration:

  • Create a BPM with a WS-AppServer web service that updates a table
  • Go to the WS-AppServer activity -> Web service options tab
    • Select 'Reliable messaging' check box to make transaction in Queue
    • Select 'Output expected' to get the response
    • Select 'Perform other tasks simultaneously' to make the transaction Asynchronous (Queue is not 'synchronous')
  • Publish and Run the BPM.
    • Do crash the BPM processor
    • Do crash the WS-AppServer processor
    • Do crash the DB processor.
    • In all the above situations the transaction should be continuing without any fail. If anywhere it fails then; all transaction will be rolled back. Nothing should be committed in database

Transactional No Reply mode

When reply needed, all options should be enabled , so check/enable also Peform other tasks simultaneously and Output message expected

Attachments: